package com.shunli.cterminal.model.res;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.shunli.cterminal.entity.LayerDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;

@Schema(description = "管理后台 - ab实验 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ExpRespVO implements Serializable {

    private static final long serialVersionUID = -1486285813571726414L;
    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "26900")
    @ExcelProperty("id")
    private Long id;

    @Schema(description = "产品标示", requiredMode = Schema.RequiredMode.REQUIRED, example = "8005")
    @ExcelProperty("产品标示")
    private String appId;

    @Schema(description = "流量层id", requiredMode = Schema.RequiredMode.REQUIRED, example = "908")
    @ExcelProperty("流量层Code")
    private String layerCode;

    @Schema(description = "流量大小", requiredMode = Schema.RequiredMode.REQUIRED, example = "908")
    @ExcelProperty("流量大小")
    private Integer layerRate;

    @Schema(description = "实验唯一标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "5787")
    @ExcelProperty("实验唯一标识")
    private String expCode;

    @Schema(description = "实验名称", example = "赵六")
    @ExcelProperty("实验名称")
    private String expName;

    @Schema(description = "实验参数", example = "{}")
    @ExcelProperty("实验参数")
    private String expParams;

    @Schema(description = "实验描述", example = "实验描述")
    @ExcelProperty("实验描述")
    private String expDescription;

    @Schema(description = "实验流量")
    @ExcelProperty("实验流量")
    private Integer expRate;

    @Schema(description = "实验组数")
    @ExcelProperty("实验组数")
    private Integer expGroupCnt;

    @Schema(description = "流量对应的bucket ID，1-100，格式如:1,2,3,4,5 代表 5%流量")
    @ExcelProperty("流量对应的bucket ID，1-100，格式如:1,2,3,4,5代表 5%流量")
    private String layerRateBucketIds;

    @Schema(description = "分流id类型 uid、accountId、campaignId、adId、mobile、cid、")
    @ExcelProperty("分流id类型")
    private String idType;

    @Schema(description = "实验状态：  //0=草稿 1=审核中 2=待开启 3=正常 4=暂停 5=关闭", example = "2")
    @ExcelProperty("实验状态： //0=草稿 1=审核中 2=待开启 3=正常 4=暂停 5=关闭")
    private Integer expStatus;

    @Schema(description = "创建人")
    @ExcelProperty("创建人")
    private String creator;

    @Schema(description = "更新人")
    @ExcelProperty("更新人")
    private String updater;

    @Schema(description = "场景编码", example = "5787")
    @ExcelProperty("场景编码")
    private String sceneCode;

    private LayerDO layer;
}